package com.zyx.concurrentdemo.mytest.c05;

/**
 * @author zyx
 * @since 2021/10/17 16:39
 * desc: 基于静态内部类的 懒汉式单例类
 * 1. 饿汉式 or 懒汉式 ?
 *      静态内部类保证该单例模式是懒汉式的, 静态内部类只有被使用时才会加载
 * 2. 线程安全性?
 *      类加载时, JVM能够保证加载操作的线程安全, 因此该单例模式没有并发问题, 是线程安全的
 */
public class LazyHolderSingleton {

    private LazyHolderSingleton() {}

    static class LazyHolder {
        private static final LazyHolderSingleton INSTANCE = new LazyHolderSingleton();
    }

    public LazyHolderSingleton getInstance() {
        return LazyHolder.INSTANCE;
    }

}
